perm filename PASCNV.PN[UP,DOC] blob
sn#653741 filedate 1982-04-18 generic text, type T, neo UTF8
This file contains some quick notes to help conversion to the new
Rutgers Pascal compiler. Please add to it as the spirit moves you.
For complete documentation, see PASNEW.TXT[UP,DOC].
1. File names in file headers causes the user to be prompted for the name,
but does not cause an immediate Reset/Rewrite. '/E' allows you to see
non-printing characters such as CR, LF, and FF.
Old compiler:
PROGRAM P (INPUT*, OUTPUT, INFILE*, OUTFILE);
VAR Infile, Outfile: Text;
InF: Ascii;
BEGIN
Reset (InF); (* looks for file INF *)
END.
New:
PROGRAM P (INPUT, OUTPUT, INFILE, OUTFILE);
VAR Infile, Outfile, InF: Text;
BEGIN
Reset (Infile);
Rewrite (Outfile);
Reset (Inf,'INF','/E');
END;
2. Use MARK and RELEASE instead of NEW and DISPOSE. They take integer
arguments. Or better yet, change your program to use the standard
Pascal New and Dispose. This will make your program somewhat
slower, but more flexible and more transportable.
For instance, the Unix Pascal on Shasta and Diablo doesn't support Mark
and Release.
3. For text input, you must explictly uppercase letters, if that is what you
want, and also handle tabs explicitly.
4. Use Runtime instead of Clock. Date takes a nine-character string (ALFA
will still work). Time returns an integer which you have to decode yourself.
5. Instead of HALT, use QUIT. This must be declared as an external procedure
PROCEDURE QUIT; EXTERN;
6. If the field width of an integer is greater than the one you specify, it
will print it anyway. This means that if you want an integer to be printed
with no extra spaces, just use field width 1, e.g.
Writeln (I:1);
7. The default value for debugging is ON.
8. If your program runs out of memory, type REE to the monitor (re-enter).
Then next time increase the stack allocation via the S option.